【レポート】AWS Cost Categoriesについて学べる「Elevate your cost allocation strategy with AWS Cost Categories」に参加してきました #AWSreInvent #COP306
こんにちは!AWS事業本部のおつまみです。
今回はre:Invent2024のセッション 「Elevate your cost allocation strategy with AWS Cost Categories」 に参加してきたので、内容をご紹介します!
セッションの概要
タイトル
Elevate your cost allocation strategy with AWS Cost Categories
概要
A key FinOps principle is that everyone takes ownership of cloud usage. Cost allocation is a process that enables this principle by identifying, categorizing, and assigning the costs of cloud computing resources to specific users, departments, projects, or any other relevant grouping within an organization. Join this builders' session for a hands-on experience using AWS Cost Categories to simplify cost allocation processes. Learn how to map costs with dimensions, create custom cost groupings, define split charge rules, distribute shared costs, and explore advanced implementations and best practices. Access to your AWS Organizations payer account is recommended. You must bring your laptop to participate.
FinOps の重要な原則は、全員がクラウド利用のオーナーシップを持つことである。 コスト配分は、クラウドコンピューティングリソースのコストを特定、分類、および特定のユーザー、部門、プロジェクト、または組織内のその他の関連するグループに割り当てることによって、この原則を実現するプロセスです。 このビルダーズセッションに参加し、AWSコストカテゴリを使用してコスト割り当てプロセスを簡素化するハンズオンを体験してください。 ディメンジョンを使ってコストをマッピングする方法、カスタムコスト分類を作成する方法、スプリットチャージルールを定義する方法、共有コストを分配する方法を学び、高度な実装とベストプラクティスを探求します。 AWS Organizationsの支払者アカウントへのアクセスを推奨します。 参加にはノートパソコンの持参が必要です。
スピーカー
- Connor Murphy, Sr. FinOps Success Manager, Amazon Web Services
- Savanna Jensen, Sr. FinOps Success Manager, Amazon
- Scottie Enriquez, Senior Solutions Developer, Amazon Web Services
- Shubir Kapoor, Principal Product Manager, Amazon
- Alok Verma, Principal PMT, Amazon Web Services
レベル
300
Session Type
Builder's Session
セッションの内容
本セッションのアジェンダは以下でした。
まずイントロダクションとして、グループになっているテーブル内で全員自己紹介をしました。その後、AWS Cost Categoriesの概要・使い方・デモを交えて、機能について深掘りしていくセッションでした。
DevIOでもAWS Cost Categoriesに関する記事が少なく、私も初めて触るサービスだったため、どんなサービスかワクワクしながら聴きました!
Cost Categoriesとは?
3行でまとめてみます。
- AWS組織内のコストを論理的にグループ化し、可視化するためのサービス。
- アカウント、タグ、サービスなど様々な条件に基づいてコストを分類し、共有コストの配分も可能。
- Cost Explorer、AWS Budget、Cost Anomaly Detectionなどの他AWSサービスと統合することで、効率的なコスト管理と分析を実現できる。
Cost Categoriesで解決できる課題
組織のコスト管理をする中で、このような課題が生じます。
- アカウントのグループのコストを自動的にレポートするにはどうすればよいですか?
- 共有コストを自動的に分割する方法はありますか?
- 複数のサービス、アカウント、タグ、またはリージョンにまたがる支出があるチームのコストをレポートするにはどうすればよいですか?
- チーム間で一貫性が欠如している場合にタグを整理する方法はありますか?
上記課題に対して、Cost Categoriesの機能でこのような課題解決ができます。
-
アカウントグループのコストを自動的にレポート
AWS Cost Categoriesでは、支払アカウントで組織全体のアカウントの可視性を確保することができる。アカウントエイリアスのパターンマッチングを活用することで、動的なグループ化が可能となり、Cost Explorerでグループ単位での分析を実現します。さらに、グループ単位での予算設定や異常検知も可能となり、これまで手動で行っていた集計作業を自動化することで、運用担当者の負荷を大幅に軽減することができる。 -
共有コストの分割
組織全体で利用するエンタープライズサポートコストや、Transit Gatewayなどの共有ネットワークリソース、セキュリティサービスやログ管理などの共通基盤に関するコストを適切に配分することができる。配分方式としては、使用量に応じて動的に配分する比例配分、事前に定義された固定比率で配分する固定配分、対象間で均等に配分する均等配分の3つから選択することができる。これにより、組織の実態に即した公平なコスト配分が実現可能となる。 -
複数のサービス、タグ、アカウント、リージョンにまたがるチームのコスト報告
サービス、タグ、アカウント、リージョンなどの複数の条件を「AND」や「OR」で結合した複雑なルールを設定することができる。また、使用タイプ(Usage Type)による詳細な分類も可能で、Cost Explorerを使用した多角的な分析を行うことができる。さらに、コストと使用状況レポート(CUR)と連携することで、より詳細な分析も可能となります。これにより、複雑な組織構造や利用形態であっても、適切なコスト配分と分析が実現できる。 -
不統一なタグ付け戦略の修正
prod、production、PRDなど、異なる表記規則で付与されたタグを統一的に扱うことができる。contains(含む)機能による柔軟な文字列マッチングを活用することで、タグの欠落や不整合があっても、他の条件と組み合わせて補完することが可能。これにより、既存リソースの再タグ付けを行うことなく対応でき、将来的なタグ付け戦略の統一までの移行期間をスムーズに進めることができる。
たしかに4のタグ付けは組織で統制が取れていないと、不統一になってコスト可視化が難しいなと自身も課題に思っていたところでした。
Cost Categoriesの実装方法
基本的な設定手順は以下の通りです。
- 支払アカウントでCost Categoriesを作成
- カテゴリー名の設定
- ルールの構築(UI経由またはJSON形式)
- 必要に応じて分割課金の設定
- ルックバック期間の設定(最大1年前まで)
コンソールでの設定方法はこちらのブログをご参考ください。
セッション中は、スピーカーがAWSコンソールでCost Categoriesを作成するプロセス(ルールの定義やアカウントのグループ化など)のデモを見ていました。
デモでは、Amazon製品であるEcho, Kindle, Prime Videoなどの異なる製品用のルールを作成し、これらのルールに基づいて複数アカウントをグループ化します。ルールに優先順位を設定し、アカウントエイリアスに基づく動的なグループ化を使用することで、プロダクトごとのコストを可視化できるようになりました。
さらに、Cost Explorerでディメンションを「Cost Categories」、Cost Categoryを作成したコストグループに作成することで、Cost Explorer内でもプロダクトごとのコストを可視化できるようになりました。
Cost Categoriesのより発展した使用例
より発展した使用例についてもデモしてくれました。
-
階層構造の作成
- AWS Cost Categoriesでは、複数レベルの階層構造を作成可能。
- 例えば、製品レベル(Kindle、Echo、Prime Videoなど)、部門レベル(デバイス部門、ストリーミング部門など)、環境レベル(本番/非本番)といった形で階層化が可能。
- この階層構造により、組織の実態に即した柔軟なコスト管理が実現できます。例えば、KindleとEchoをデバイス部門として集計し、Prime VideoとAmazon Studiosをストリーミング部門として集計するといった、ビジネス視点での分析が容易になる。
-
共有コストの配分
- 共有コストの配分には、3つの方式が用意されている。
- 使用量に応じて動的に配分される比例配分では、例えばリソースの使用量が80%のチームには共有コストの80%が配分されます。
- 固定配分では、事前に定義された割合で配分することができ、例えばセキュリティコストを部門の規模に応じて固定的に配分することが可能。
- 均等配分では、対象となるグループ間で均等にコストを分配できる。
- これらの配分方式を組み合わせることで、組織のニーズに合わせた柔軟なコスト配分が実現できる。
- 共有コストの配分には、3つの方式が用意されている。
- 動的なルール設定
- アカウントエイリアスの部分一致による自動グループ化機能を活用することで、新規アカウントが追加された場合でも自動的に適切なカテゴリーに分類できる。
- 例えば、「prod-」で始まるアカウントを本番環境として分類するといったルールを設定可能。
- また、タグの包含関係に基づく動的なグループ化も可能で、大文字小文字を考慮した条件設定により、より精緻な制御が可能。これらの動的なルール設定により、組織の成長や変更に柔軟に対応することが可能となる。
- 不統一なタグ付け戦略の修正も可能になる。
- JSONによるルール定義でバージョン管理も可能
- バージョン管理システムと組み合わせることで、変更履歴の追跡や監査対応も容易になる。
- また、AWS Organizations、AWS Control Tower、AWS Service Catalog等の他のAWSサービスと組み合わせることで、より包括的なガバナンス体制を構築することが可能になる。
このように、AWS Cost Categoriesの高度な機能を活用することで、複雑な組織構造や要件に対しても、効率的かつ柔軟なコスト管理を実現することが可能となる。
おわりに
今回のセッションで、Cost Categoriesを使用してコスト割り当てプロセスを簡素化する方法を学ぶ事ができました!
今までコスト配分戦略として、コスト配分タグしか触ってこなかったのですが、組織単位の場合はCost Categoriesの方が簡単に実装できるなと感じました。
組織でコスト配分に悩んでいる方はぜひ使ってみてください!
最後までお読みいただきありがとうございました!
どなたかのお役に立てれば幸いです。
以上、おつまみ(@AWS11077)でした!